<?php

class Widget
{
	private $usuario;
	private $widgets;
	private $widgetsConfig;
	
	public function Widget($usuario)
	{
		$this->usuario=$usuario;
	}
	
	public function instalarWidget($columna,$posicion,$widget_id,$minimizado,$seccion)
	{
		$sql="INSERT INTO posiciones_widgets (id_usuario,id_seccion,posicion,minimizado,columna,id_widget)
		VALUES
		(".$this->usuario->getId().",(SELECT id_seccion FROM secciones WHERE seccion = '".$seccion."'),".$posicion.",".$minimizado.",".$columna.",(SELECT id_widget FROM widgets WHERE widget='".$widget_id."'))";
		mysql_query($sql);
	}
	
	public function borrarConfiguracion($seccion)
	{
		$sql="DELETE FROM posiciones_widgets WHERE id_usuario = ".$this->usuario->getId()." AND id_seccion = (SELECT id_seccion FROM secciones WHERE seccion = '".$seccion."')";
		mysql_query($sql);
	}
	public function insertarWidgets($seccion)
	{
		$this->widgets="";
		$this->widgetsConfig="";
		
		$sql="SELECT IF(minimizado IS NULL,'not-collapsed','collapsed') as minimizado,widget
		FROM posiciones_widgets
		JOIN secciones using (id_seccion)
		JOIN widgets using (id_widget)
		WHERE seccion = '".$seccion."' AND id_usuario = ".$this->usuario->getId()." AND columna = 1 ORDER BY posicion ASC";
		$res = mysql_query($sql);
		while($fila = mysql_fetch_array($res,MYSQL_ASSOC))
		{
			$this->widgets.= $this->getWidget($fila['widget']);
			$this->widgetsConfig.=$fila['widget'].",".$fila['minimizado'].";";
		}
		$this->widgetsConfig = trim($this->widgetsConfig,";");
		
		$this->widgetsConfig .= "|";
		
		
		$sql="SELECT IF(minimizado IS NULL,'not-collapsed','collapsed') as minimizado,widget
		FROM posiciones_widgets
		JOIN secciones using (id_seccion)
		JOIN widgets using (id_widget)
		WHERE seccion = '".$seccion."' AND id_usuario = ".$this->usuario->getId()." AND columna = 2 ORDER BY posicion ASC";
		
		$res = mysql_query($sql);
		while($fila = mysql_fetch_array($res,MYSQL_ASSOC))
		{
			$this->widgets.= $this->getWidget($fila['widget']);
			$this->widgetsConfig.=$fila['widget'].",".$fila['minimizado'].";";
		}
		$this->widgetsConfig = trim($this->widgetsConfig,";");
		
		return $this->widgets;
	}
	
	public function getConfig()
	{
		return "<config>".$this->widgetsConfig."</config>";
	}
	
	public function getWidget ($nombre)
	{
		$datos = include("widgets/".$nombre.".php");
		$xml='
		<widget id="'.$datos["id"].'">
			<titulo><![CDATA['.$datos["titulo"].']]></titulo>
			<contenido><![CDATA['.$datos["contenido"].']]></contenido>
		</widget>';
		return $xml;
	}
	
	public function getContenido ($nombre)
	{
		$datos = include("widgets/".$nombre.".php");
		$xml='
		<contenido id="'.$datos["id"].'">
			<titulo><![CDATA['.$datos["titulo"].']]></titulo>
			<contenido><![CDATA['.$datos["contenido"].']]></contenido>
		</contenido>';
		return $xml;
	}
}
